---
description: A short guide on how to integrate dyte and how dyte works with your
  application
---

# Getting Started With Dyte

Dyte offers solutions for integrating high-quality video/voice calls into your
web, mobile, and desktop applications.

This topic introduces you to the components of Dyte and gives a quick
walkthrough of the steps involved in integrating high-quality real-time
communication features into your app using Dyte.

### Components of Dyte

- **Backend HTTP REST APIs**: Your backend uses Dyte REST APIs to perform
  actions such as, create meetings, add participants to a meeting etc
- **Frontend SDKs**: Your applications bundle Dyte Core SDKs (and UI Kits) to
  acquire, transmit and play media, and manage network connections.
- **Developer Portal**: Your one-stop shop for all meeting logs, API keys,
  billing and more

### Integrate Dyte

1. To get started with Dyte, you must first register in the
   [Developer portal](https://dev.dyte.io)

2. Copy the [API Keys](https://dev.dyte.io/apikeys) for your organization from
   the Developer portal. These API Keys are unique to your organization and are
   required to use Dyte REST APIs such as when instantiating a meeting

3. [Create presets](https://dev.dyte.io/roles-presets) using the Developer
   portal. A preset is a set of permissions and UI configurations that would be
   applied to a participant

4. Create a Dyte meeting using the
   [Create Meeting API](/api#/operations/create_meeting). This API returns a
   unique identifier for your meeting. <br/>

:::tip

You may want to persist the meeting ID in your database.

:::

_Diagram explaining how Dyte works_

5. After you've created the meeting, add each participant to the meeting using
   the [Add Participant API](/api#/operations/add_participant) (The `presetName`
   created earlier must be passed in the body of the Add Participant API
   request)

   The API response contains the user authentication token `authToken`.

6. Use the `authToken` to initialize any of the frontend SDKs.

Dyte meetings do not have a date or time associated with them, so you can create
them in advance or just when users need to join the meeting. The idea is that
your backend controls when to distribute `authToken` and thus you can share the
tokens with the users at the scheduled time.

## Glossary

### Meeting

A communication channel created on Dyte is termed as a `meeting`.

### Participants

Anyone who joins the `meeting`, whether as an actual user or a machine user

### Permission

A specific action allowed or not for a `participant`.

### Preset

A preset is a set of permissions and UI configurations that are applied to
participants. The presets define how the meeting will look, feel, and behave for
the participants.

- You can create presets for the Group Call and Webinar meeting type.
- You can set the maximum number of people on screen, the maximum number of
  people sharing the screen, provide permissions to create poll, disable
  participant video, disable participant audio, modify text color, configure
  plugins, and so on. Dyte also includes the following four prebuilt presets.
  These presets are pre-defined permissions and UI configurations for the
  participants.
  - webinar_viewer
  - webinar_presenter
  - group_call_host
  - group_call_participant

You can choose to use the default prebuild presets if you don't wish to create
one.

### Recording

You can record the `meeting`, and get a video / audio file.

### Livestreaming

You can livestream the `meeting` to other streaming platforms that support RTMP,
like YouTube, Twitch, etc.

### Analytics

Get analytics data around your `meetings`, like number of minutes, number of
recorded minutes, number of participants, etc.
